透過巨集的錄製,我們可以得知程式如何撰寫,但是有些撰寫方式,錄製時並不會產生,只有參考VBA手冊,或者看別人的程式碼,才會知道,通常看到後才會恍然大悟:「原來還有這種方式可用!」,今天要介紹的,就是使用數字方式來選擇多列欄位,我們用以下程式來解釋:
Sub Day7()
Sheets("Day7").Select
'選擇多欄的方式
'傳統選擇法,以英文字母選擇多欄
Range("A:A,C:C,E:E").Select
'若要改為以數字方式選擇多欄,有以下幾種方法
Union(Columns(1), Columns(3), Columns(5)).Select
Range("A1").Select
'隱藏、顯示欄位
Union(Columns(1), Columns(3), Columns(5)).EntireColumn.Hidden = True
Union(Columns(1), Columns(3), Columns(5)).EntireColumn.Hidden = False
'以物件方式處理
Dim objCol As Object
i = 1
'將物件設定多個指定欄位,用此方式的好處,是可以用變數方式帶入
'較有彈性
Set objCol = Union(Columns(i), Columns(i + 2), Columns(i + 4))
objCol.Select
Range("A1").Select
'除了選擇欄位外,比較常用的還有隱藏欄位
objCol.EntireColumn.Hidden = True
objCol.EntireColumn.Hidden = False
'選擇區域範圍
'傳統選擇法,以英文字母選擇多欄
Range("A:K").Select
'以數字方式選擇
Range(Columns(1), Columns(10)).Select
'以Resize配合英文字母或數字的選擇方式
Columns("A").Resize(, 11).Select
Columns(1).Resize(, 12).Select
'以Range配合Cells方式來選擇
Range(Cells(1, 1), Cells(1, 11)).EntireColumn.Select
End Sub
以上程式碼,可開啟VBE後貼上程式碼,然後透過F8按鍵逐一執行,即可得知執行結果。
這次的教學內容,讓欄位選擇有更多變化,配合物件設定的方式,可以用變數來選擇欄位,使用上更有彈性,希望對各位有幫助。